词云入门—词云生成器体验
豆皮粉儿们,又见面了,今天这一期,由字节跳动数据平台的“玄魂”,带来一篇词云入门文章。
本篇文章是词云系列的第一篇,主要是借助词云生成器给大家一个感性的认识,后面我们会继续讨论词云的算法及实现。
什么是词云?(What Is A Word Cloud?)
词云,又叫”标签云“(tag cloud) 或者“文本云”(text cloud),是数据可视化中文本可视化范畴内的一种可视化方式,通常文本的大小和关键指标进行绑定。
一些独立的词云生成和编辑工具,往往会脱离数据可视化的束缚,提供很多设计功能,将词云作为一种艺术创作。下面就笔者体验过的一些比较有趣的词云生成器做一个简单的介绍,方便大家从不同的角度认识词云,有个感性的认识。
1、WordArt
站点:https://wordart.com/
使用WordArt,可以自定义字体、布局、颜色和形状。该工具还提供了一些预处理选项,如词干分析、删除常用单词和数字等功能。词云生成之后,还可以进一步进行编辑,修改文本对应的数据,改变文本的旋转角度,添加超链接等等。下面我们来体验一下。
图一 如上图,整个生成器分成菜单区、配置区、展示(编辑)区,三个大的区域。核心功能都在配置区域。配置区域的第一个区域是“WORDS”,配置要展示的词语,以及词语的权重、颜色,角度,字体和超链接。配置区域的第二个区域是“Shapes”,这里可以选择词云的最终形状,可以通过文字和图像来自定义形状。
图一所示内容就是自定义文本“玄魂”生成的词云效果。配置区域的第三个区域是“FONTS”,用来查看和添加字体。
配置区域的第四个区域是“LAYOUT”,用来配置词语的排列方式和显示数量,密度等信息。
配置区域的第五个区域是“STYLE”,用来配置颜色和hover时的动画效果。展示区上方有三个功能按钮:Visualize:生成词云 Animate:查看交互效果 Edit:可以对生成的词云中的文字做大小,角度,颜色的调整。
2、Jason Davies
站点:https://www.jasondavies.com/wordcloud/
这是一款简单易用的词云生成工具。
Jason Davies 允许用户输入一段文本,然后根据空格来进行分词,根据词频来绑定文字大小。用户能够修改的配置项很少,布局上只提供阿基米德螺或者矩形布局,另外可以配置文字旋转角度。
3、MonkeyLearn WordCloud Generator
站点:https://monkeylearn.com/
与其他词云生成器相比,此款词云生成器最大的特点是配备了artificial intelligence (AI)能力,使得我们可以尝试探索更多内容。例如,MonkeyLearn的词云生成器可以自动检测句子,段落和文档中的搭配(经常在一起的词),以创建词(短语)云。带有短语的词云通常比单个词的词云提供更多的上下文,从而为用户提供更深入的探索能力。例如在此标签云中,围绕单词“ staff”提供了更多的上下文: “nice staff” , “friendly staff” 。它还可以将单词简化为词根形式(一个称为第一任,stemming的过程:https://en.wikipedia.org/wiki/Stemming),并通过测量单词的稀有度,描述性和持续时间来确定最相关的单词,而不仅仅是测量词频。其实词云只是其整个应用的一小部分,它更像是一个词分析引擎。通过它我们可以看到从数据到分析再到展现的一个完整的文本处理流程。MonkeyLearn 默认提供了一些Demo模型,用户可以进行尝试。也可以创建自己的模型,来进行训练。
下面我们来看看使用词云来进行文本情感可视化的一个完整流程。
3.1 将数据分割成观点单元
首先我们要准备一份数据,通常需要使用Excel或者.csv文件 文本数据通常包含多种观点。例如,在评论中数据中会发现,同一个功能,有的用户十分喜欢,而有点用户却十分厌恶。要分别分析这些想法(并获得更准确的结果),需要将数据集分解为观点单元。使用opinion unit extractor 可以完成这个工作。从示例中我们可以大致的观察这个模块是如何对文本就行分组的。
点击左侧的“Batch”,可以批量上传。
我这里本想上传了一份包含大约160万条推文的数据集进行测试,但是发现只有300条免费权限  ̄□ ̄||。数据上传之后选择要使用的列数据。
很快,我们得到一份新的.csv文件,包含了所有观点单元数据。
3.2 对数据进行情感分析
文本的情感分类依赖模型,我们这里选择使用 sentiment analyzer 模型。
批量上传上一步生成的文本,就可以生成带情感属性的新的文件了。选择观点单元的一列。
新生成的数据添加了情感属性,大致如下图:
3.3 生成词云
有了数据之后,我们可以对数据进行过滤,分组分析,导入到MonkeyLearn’s word cloud generator(https://monkeylearn.com/wordcloud/)进行词云生成。(最后只有10条数据的权限了 🥺)
小结
本篇文章,只是简单的对三款工具进行了体验,但是从中我们可以看到词云在展现形式和艺术表达上的一些特性。最后一个例子我们可以看到词云在商业应用中的价值以及基于AI的文本分析的基本流程。本系列后两篇文章,会讲解一下词云的基本布局算法以及值得推荐的基于Javascript的开源词云组件。
精选文章
•toB如何优雅应对私有化客户定制需求•diff 算法深入一下?•可视化原理在数据产品中的应用•地图从GeoJSON/TopoJSON到地图绘制•来聊聊地图投影的学问•埋点那些事-web篇•数组性能问题分析总结•记一次自动翻译导致的crash
The End
如果你觉得这篇文章对你有帮助,有启发,我想请你帮我两个小忙:
•1、点个「在看」,让更多的人也能看到这篇文章内容;•2、关注公众号「豆皮范儿」,公众号后台回复「加群」 加入我们一起学习;•3、公众号后台回复「vis」,还可以获取更多可视化免费学习资料。•4、公众号后台回复「webgl」,还可以获取webgl免费学习资料。